package com.linwen.javase.genericParadigm;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * 继承Circle，实现MyCompare且在MyCompare后添加具体类，重写compare方法时，自动类型转换
 * @author : linwen
 * @date : 下午10:46 2021/8/11
 */
public class CircleCompare extends Circle implements MyCompare<Circle> {


    public CircleCompare(int i) {
        super(i);
    }

    @Override
    public int compare(Circle circle) {
        if(this.getArea()==circle.getArea()){
            return 0;
        }else if(this.getArea()>circle.getArea()){
            return 1;
        }else{
            return -1;
        }
    }
    /*
    * 泛型方法
    *根据传入方法的类型返回对应的类型
    *
    * */
    public static <T> List<T> transform(T[] arr){
        ArrayList<T> ts = new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            ts.add(arr[i]);
        }
        return ts;
    }
}
